import React,{useReducer} from 'react'

export default function App() {
  // useReducer接受两个参数，第一个参数时reducer函数，第二个参数时初始值
  /**
   * reducer函数接收两个参数，一个时state，另外一个是action，然后返回一个state、dispatch
   * state返回状态中的值，dispatch是一个可以发布事件来更新state的
   */
  const [state,dispatch] = useReducer((state,action)=>{
    console.log(state,action)
    if(action==='add'){
      return state + 1 
    }else if(action==='prep'){
      return state - 1
    }
    return state - 1
  }, 0)
  return (
    <div>
      <h2>{state}</h2>
      <button onClick={()=>dispatch('add')}>加+1</button>
      <button onClick={()=>dispatch('prep')}>减-1</button>
    </div>
  )
}
